Repository navigation
Conversation
| }); | ||
|
|
||
| expect(event.exception?.values).toHaveLength(1); | ||
| }); |
There was a problem hiding this comment.
Feat lacks integration coverage
Medium Severity
This feat only adds unit tests around applyAggregateErrorsToEvent with a fake SuppressedError. The testing conventions require at least one integration or E2E test for feat PRs. An end-to-end captureException case with a native SuppressedError, matching the existing AggregateError suites, is missing.
Triggered by project rule: PR Review Guidelines for Cursor Bot
Reviewed by Cursor Bugbot for commit 1834d47. Configure here.
…-suppressed-error
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
There are 2 total unresolved issues (including 1 from previous review).
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 91c0b88. Configure here.
| ); | ||
| } | ||
| }); | ||
| } |
There was a problem hiding this comment.
Feat is missing an integration test
Medium Severity
Flagged because the review rules require feat PRs to include an integration or E2E test. Coverage here is unit-only via FakeSuppressedError, so native using / SuppressedError never runs through LinkedErrors. A Node test gated with test.runIf(supports({ min: 22 })) would close that gap.
Triggered by project rule: PR Review Guidelines for Cursor Bot
Reviewed by Cursor Bugbot for commit 91c0b88. Configure here.


SuppressedErroris what JS throws when a cleanup (using/Symbol.dispose) fails while another error is already in flight. It keeps both errors,error(the new one) andsuppressed(the original), and it has nocause. because of that, LinkedErrors never saw them. In Sentry I only got the generic wrapper message, "An error was suppressed during disposal".Take a look , how it looks today (node SDK):
This change makes
aggregateExceptionsFromErroralso followerrorandsuppressed, the same way it already followscauseanderrors[], both errors now show up as chained exceptions. If a SuppressedError has another SuppressedError inside, it goes down the chain too.And one thing I'm not sure about: I did not set
is_exception_groupon the wrapper. From #10850 i understand that flag makes sentry ignore that entry for grouping and titles, and that was a problem forcauseerrors. But the wrapper here has a meaningless message, so maybe it should be a group. (happy to change it if you prefer.)I added tests for both errors, nested SuppressedErrors, non-Error values, and an error that only has an
errorproperty (it must not be treated as a SuppressedError).Fixes #8441